﻿using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Application.Services;
using YaAppoint.DeviceTypes;
using YaAppoint.Response;

namespace YaAppoint.DepartmentDeviceTypes
{
    [RemoteService(isEnabled: false)]
    public interface IDepartmentDeviceTypeAppService:IApplicationService
    {
        /// <summary>
        ///  获取科室设备类型
        /// </summary>
        Task<BackJson> GetDepDeviceTypes(Guid id,string? filterName, int page, int pageSize);

        /// <summary>
        ///  系统设备类型列表
        /// </summary>
        Task<BackJson> GetSystemDeviceTypes(Guid depId, string? filterName, int page, int pageSize);

        /// <summary>
        ///  提交新建
        /// </summary>
        Task<BackJson> SubmitCreate(CreateDeviceTypeDto dto, Guid depId);

        /// <summary>
        /// 移除多个
        /// </summary>
        Task<BackJson> RemoveMany(List<DeviceTypeDto> dtoList, Guid depId);

        /// <summary>
        /// 移除单个
        /// </summary>
        Task<BackJson> RemoveSingle(Guid deviceTypeId, Guid depId);

        /// <summary>
        /// 向科室添加设备类型
        /// </summary>
        Task<BackJson> AddDeviceTypeToDepartment(List<DeviceTypeDto> dtoList, Guid depId);

        /// <summary>
        /// 获取到诊模式选项
        /// </summary>
        BackJson LoadCheckInModeOptions();
        
    }
}
